<!-- HTML header for doxygen 1.8.6-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<title>OpenCV: opencv2/photo.hpp File Reference</title>
<link href="../../opencv.ico" rel="shortcut icon" type="image/x-icon" />
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="../../tutorial-utils.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
//<![CDATA[
MathJax.Hub.Config(
{
  TeX: {
      Macros: {
          matTT: [ "\\[ \\left|\\begin{array}{ccc} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{array}\\right| \\]", 9],
          fork: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ \\end{array} \\right.", 4],
          forkthree: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ \\end{array} \\right.", 6],
          forkfour: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ #7 & \\mbox{#8}\\\\ \\end{array} \\right.", 8],
          vecthree: ["\\begin{bmatrix} #1\\\\ #2\\\\ #3 \\end{bmatrix}", 3],
          vecthreethree: ["\\begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{bmatrix}", 9],
          cameramatrix: ["#1 = \\begin{bmatrix} f_x & 0 & c_x\\\\ 0 & f_y & c_y\\\\ 0 & 0 & 1 \\end{bmatrix}", 1],
          distcoeffs: ["(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]]) \\text{ of 4, 5, 8, 12 or 14 elements}"],
          distcoeffsfisheye: ["(k_1, k_2, k_3, k_4)"],
          hdotsfor: ["\\dots", 1],
          mathbbm: ["\\mathbb{#1}", 1],
          bordermatrix: ["\\matrix{#1}", 1]
      }
  }
}
);
//]]>
</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
<link href="../../stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<!--#include virtual="/google-search.html"-->
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="../../opencv-logo-small.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenCV
   &#160;<span id="projectnumber">4.5.2</span>
   </div>
   <div id="projectbrief">Open Source Computer Vision</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('../../',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../dir_94d1c6d7746d5b38b436f065c02ab644.html">opencv2</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">photo.hpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../d0/d9c/core_2include_2opencv2_2core_8hpp.html">opencv2/core.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="../../d1/d4f/imgproc_2include_2opencv2_2imgproc_8hpp.html">opencv2/imgproc.hpp</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df2/classcv_1_1AlignExposures.html">cv::AlignExposures</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The base class for algorithms that align images of the same scene with different exposures.  <a href="../../d4/df2/classcv_1_1AlignExposures.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/db6/classcv_1_1AlignMTB.html">cv::AlignMTB</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This algorithm converts images to median threshold bitmaps (1 for pixels brighter than median luminance and 0 otherwise) and than aligns the resulting bitmaps using bit operations.  <a href="../../d7/db6/classcv_1_1AlignMTB.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/de3/classcv_1_1CalibrateCRF.html">cv::CalibrateCRF</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The base class for camera response calibration algorithms.  <a href="../../dd/de3/classcv_1_1CalibrateCRF.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d27/classcv_1_1CalibrateDebevec.html">cv::CalibrateDebevec</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inverse camera response function is extracted for each brightness value by minimizing an objective function as linear system. Objective function is constructed using pixel values on the same position in all images, extra term is added to make the result smoother.  <a href="../../da/d27/classcv_1_1CalibrateDebevec.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d30/classcv_1_1CalibrateRobertson.html">cv::CalibrateRobertson</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inverse camera response function is extracted for each brightness value by minimizing an objective function as linear system. This algorithm uses all image pixels.  <a href="../../d3/d30/classcv_1_1CalibrateRobertson.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d62/classcv_1_1MergeDebevec.html">cv::MergeDebevec</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The resulting HDR image is calculated as weighted average of the exposures considering exposure values and camera response.  <a href="../../df/d62/classcv_1_1MergeDebevec.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d5e/classcv_1_1MergeExposures.html">cv::MergeExposures</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The base class algorithms that can merge exposure sequence to a single image.  <a href="../../d6/d5e/classcv_1_1MergeExposures.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/dd6/classcv_1_1MergeMertens.html">cv::MergeMertens</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pixels are weighted using contrast, saturation and well-exposedness measures, than images are combined using laplacian pyramids.  <a href="../../d7/dd6/classcv_1_1MergeMertens.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d5b/classcv_1_1MergeRobertson.html">cv::MergeRobertson</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The resulting HDR image is calculated as weighted average of the exposures considering exposure values and camera response.  <a href="../../d7/d5b/classcv_1_1MergeRobertson.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d5e/classcv_1_1Tonemap.html">cv::Tonemap</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for tonemapping algorithms - tools that are used to map HDR image to 8-bit range.  <a href="../../d8/d5e/classcv_1_1Tonemap.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d53/classcv_1_1TonemapDrago.html">cv::TonemapDrago</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adaptive logarithmic mapping is a fast global tonemapping algorithm that scales the image in logarithmic domain.  <a href="../../da/d53/classcv_1_1TonemapDrago.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d76/classcv_1_1TonemapMantiuk.html">cv::TonemapMantiuk</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This algorithm transforms image to contrast using gradients on all levels of gaussian pyramid, transforms contrast values to HVS response and scales the response. After this the image is reconstructed from new contrast values.  <a href="../../de/d76/classcv_1_1TonemapMantiuk.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dec/classcv_1_1TonemapReinhard.html">cv::TonemapReinhard</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is a global tonemapping operator that models human visual system.  <a href="../../d0/dec/classcv_1_1TonemapReinhard.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:d2/d75/namespacecv"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d75/namespacecv.html">cv</a></td></tr>
<tr class="memdesc:d2/d75/namespacecv"><td class="mdescLeft">&#160;</td><td class="mdescRight">"black box" representation of the file storage associated with a file on disk. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga8002a65f5a3328fbf15df81b842d3c3c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="../../d7/d8b/group__photo__inpaint.html#gga8002a65f5a3328fbf15df81b842d3c3ca05e763003a805e6c11c673a9f4ba7d07">cv::INPAINT_NS</a> = 0, 
<br />
&#160;&#160;<a class="el" href="../../d7/d8b/group__photo__inpaint.html#gga8002a65f5a3328fbf15df81b842d3c3ca892824c38e258feb5e72f308a358d52e">cv::INPAINT_TELEA</a> = 1
<br />
 }</td></tr>
<tr class="separator:ga8002a65f5a3328fbf15df81b842d3c3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf454b747a111dc9819419b99807ae7ac"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="../../d6/df5/group__photo__hdr.html#ggaf454b747a111dc9819419b99807ae7aca11377cb33f0a607d50cdc65e529529a1">cv::LDR_SIZE</a> = 256
 }</td></tr>
<tr class="separator:gaf454b747a111dc9819419b99807ae7ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabfc4ba1d1fb873f2b56d34032f86c1d4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="../../df/da0/group__photo__clone.html#ggabfc4ba1d1fb873f2b56d34032f86c1d4a8e6473804ceaa0e8bd0e5828a05235a7">cv::NORMAL_CLONE</a> = 1, 
<br />
&#160;&#160;<a class="el" href="../../df/da0/group__photo__clone.html#ggabfc4ba1d1fb873f2b56d34032f86c1d4a9aeff931a5d5d18b094397f0ca5bb85f">cv::MIXED_CLONE</a> = 2, 
<br />
&#160;&#160;<a class="el" href="../../df/da0/group__photo__clone.html#ggabfc4ba1d1fb873f2b56d34032f86c1d4a8a64bb74d3ef61a73cf755f3a881fe70">cv::MONOCHROME_TRANSFER</a> = 3
<br />
 }<tr class="memdesc:gabfc4ba1d1fb873f2b56d34032f86c1d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">seamlessClone algorithm flags  <a href="../../df/da0/group__photo__clone.html#gabfc4ba1d1fb873f2b56d34032f86c1d4">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gabfc4ba1d1fb873f2b56d34032f86c1d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f9a572bf02ebe19f6652ce7cadadc7c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="../../df/dac/group__photo__render.html#gga3f9a572bf02ebe19f6652ce7cadadc7ca54c35da37a520d619d8a149d9b463d73">cv::RECURS_FILTER</a> = 1, 
<br />
&#160;&#160;<a class="el" href="../../df/dac/group__photo__render.html#gga3f9a572bf02ebe19f6652ce7cadadc7caaab1c1e6dc436a25e1f5506fb6432d4e">cv::NORMCONV_FILTER</a> = 2
<br />
 }<tr class="memdesc:ga3f9a572bf02ebe19f6652ce7cadadc7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Edge preserving filters.  <a href="../../df/dac/group__photo__render.html#ga3f9a572bf02ebe19f6652ce7cadadc7c">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga3f9a572bf02ebe19f6652ce7cadadc7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga6684f35dc669ff6196a7c340dc73b98e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/da0/group__photo__clone.html#ga6684f35dc669ff6196a7c340dc73b98e">cv::colorChange</a> (InputArray src, InputArray mask, OutputArray dst, float red_mul=1.0f, float green_mul=1.0f, float blue_mul=1.0f)</td></tr>
<tr class="memdesc:ga6684f35dc669ff6196a7c340dc73b98e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given an original color image, two differently colored versions of this image can be mixed seamlessly.  <a href="../../df/da0/group__photo__clone.html#ga6684f35dc669ff6196a7c340dc73b98e">More...</a><br /></td></tr>
<tr class="separator:ga6684f35dc669ff6196a7c340dc73b98e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2f1fafc885a5d79dbfb3542e08db0244"><td class="memItemLeft" align="right" valign="top">Ptr&lt; AlignMTB &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/df5/group__photo__hdr.html#ga2f1fafc885a5d79dbfb3542e08db0244">cv::createAlignMTB</a> (int max_bits=6, int exclude_range=4, bool cut=true)</td></tr>
<tr class="memdesc:ga2f1fafc885a5d79dbfb3542e08db0244"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates <a class="el" href="../../d7/db6/classcv_1_1AlignMTB.html" title="This algorithm converts images to median threshold bitmaps (1 for pixels brighter than median luminan...">AlignMTB</a> object.  <a href="../../d6/df5/group__photo__hdr.html#ga2f1fafc885a5d79dbfb3542e08db0244">More...</a><br /></td></tr>
<tr class="separator:ga2f1fafc885a5d79dbfb3542e08db0244"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7fed9707ad5f2cc0e633888867109f90"><td class="memItemLeft" align="right" valign="top">Ptr&lt; CalibrateDebevec &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/df5/group__photo__hdr.html#ga7fed9707ad5f2cc0e633888867109f90">cv::createCalibrateDebevec</a> (int samples=70, float lambda=10.0f, bool random=false)</td></tr>
<tr class="memdesc:ga7fed9707ad5f2cc0e633888867109f90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates <a class="el" href="../../da/d27/classcv_1_1CalibrateDebevec.html" title="Inverse camera response function is extracted for each brightness value by minimizing an objective fu...">CalibrateDebevec</a> object.  <a href="../../d6/df5/group__photo__hdr.html#ga7fed9707ad5f2cc0e633888867109f90">More...</a><br /></td></tr>
<tr class="separator:ga7fed9707ad5f2cc0e633888867109f90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae77813a21cd351a596619e5ff013be5d"><td class="memItemLeft" align="right" valign="top">Ptr&lt; CalibrateRobertson &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/df5/group__photo__hdr.html#gae77813a21cd351a596619e5ff013be5d">cv::createCalibrateRobertson</a> (int max_iter=30, float threshold=0.01f)</td></tr>
<tr class="memdesc:gae77813a21cd351a596619e5ff013be5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates <a class="el" href="../../d3/d30/classcv_1_1CalibrateRobertson.html" title="Inverse camera response function is extracted for each brightness value by minimizing an objective fu...">CalibrateRobertson</a> object.  <a href="../../d6/df5/group__photo__hdr.html#gae77813a21cd351a596619e5ff013be5d">More...</a><br /></td></tr>
<tr class="separator:gae77813a21cd351a596619e5ff013be5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa8eab36bc764abb2a225db7c945f87f9"><td class="memItemLeft" align="right" valign="top">Ptr&lt; MergeDebevec &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/df5/group__photo__hdr.html#gaa8eab36bc764abb2a225db7c945f87f9">cv::createMergeDebevec</a> ()</td></tr>
<tr class="memdesc:gaa8eab36bc764abb2a225db7c945f87f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates <a class="el" href="../../df/d62/classcv_1_1MergeDebevec.html" title="The resulting HDR image is calculated as weighted average of the exposures considering exposure value...">MergeDebevec</a> object.  <a href="../../d6/df5/group__photo__hdr.html#gaa8eab36bc764abb2a225db7c945f87f9">More...</a><br /></td></tr>
<tr class="separator:gaa8eab36bc764abb2a225db7c945f87f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga79d59aa3cb3a7c664e59a4b5acc1ccb6"><td class="memItemLeft" align="right" valign="top">Ptr&lt; MergeMertens &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/df5/group__photo__hdr.html#ga79d59aa3cb3a7c664e59a4b5acc1ccb6">cv::createMergeMertens</a> (float contrast_weight=1.0f, float saturation_weight=1.0f, float exposure_weight=0.0f)</td></tr>
<tr class="memdesc:ga79d59aa3cb3a7c664e59a4b5acc1ccb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates <a class="el" href="../../d7/dd6/classcv_1_1MergeMertens.html" title="Pixels are weighted using contrast, saturation and well-exposedness measures, than images are combine...">MergeMertens</a> object.  <a href="../../d6/df5/group__photo__hdr.html#ga79d59aa3cb3a7c664e59a4b5acc1ccb6">More...</a><br /></td></tr>
<tr class="separator:ga79d59aa3cb3a7c664e59a4b5acc1ccb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga460d4a1df1a7e8cdcf7445bb87a8fb78"><td class="memItemLeft" align="right" valign="top">Ptr&lt; MergeRobertson &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/df5/group__photo__hdr.html#ga460d4a1df1a7e8cdcf7445bb87a8fb78">cv::createMergeRobertson</a> ()</td></tr>
<tr class="memdesc:ga460d4a1df1a7e8cdcf7445bb87a8fb78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates <a class="el" href="../../d7/d5b/classcv_1_1MergeRobertson.html" title="The resulting HDR image is calculated as weighted average of the exposures considering exposure value...">MergeRobertson</a> object.  <a href="../../d6/df5/group__photo__hdr.html#ga460d4a1df1a7e8cdcf7445bb87a8fb78">More...</a><br /></td></tr>
<tr class="separator:ga460d4a1df1a7e8cdcf7445bb87a8fb78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabcbd653140b93a1fa87ccce94548cd0d"><td class="memItemLeft" align="right" valign="top">Ptr&lt; Tonemap &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/df5/group__photo__hdr.html#gabcbd653140b93a1fa87ccce94548cd0d">cv::createTonemap</a> (float gamma=1.0f)</td></tr>
<tr class="memdesc:gabcbd653140b93a1fa87ccce94548cd0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates simple linear mapper with gamma correction.  <a href="../../d6/df5/group__photo__hdr.html#gabcbd653140b93a1fa87ccce94548cd0d">More...</a><br /></td></tr>
<tr class="separator:gabcbd653140b93a1fa87ccce94548cd0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga72bf92bb6b8653ee4be650ac01cf50b6"><td class="memItemLeft" align="right" valign="top">Ptr&lt; TonemapDrago &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/df5/group__photo__hdr.html#ga72bf92bb6b8653ee4be650ac01cf50b6">cv::createTonemapDrago</a> (float gamma=1.0f, float saturation=1.0f, float bias=0.85f)</td></tr>
<tr class="memdesc:ga72bf92bb6b8653ee4be650ac01cf50b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates <a class="el" href="../../da/d53/classcv_1_1TonemapDrago.html" title="Adaptive logarithmic mapping is a fast global tonemapping algorithm that scales the image in logarith...">TonemapDrago</a> object.  <a href="../../d6/df5/group__photo__hdr.html#ga72bf92bb6b8653ee4be650ac01cf50b6">More...</a><br /></td></tr>
<tr class="separator:ga72bf92bb6b8653ee4be650ac01cf50b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3b3f3bf083b7515802f039a6a70f2d21"><td class="memItemLeft" align="right" valign="top">Ptr&lt; TonemapMantiuk &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/df5/group__photo__hdr.html#ga3b3f3bf083b7515802f039a6a70f2d21">cv::createTonemapMantiuk</a> (float gamma=1.0f, float scale=0.7f, float saturation=1.0f)</td></tr>
<tr class="memdesc:ga3b3f3bf083b7515802f039a6a70f2d21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates <a class="el" href="../../de/d76/classcv_1_1TonemapMantiuk.html" title="This algorithm transforms image to contrast using gradients on all levels of gaussian pyramid...">TonemapMantiuk</a> object.  <a href="../../d6/df5/group__photo__hdr.html#ga3b3f3bf083b7515802f039a6a70f2d21">More...</a><br /></td></tr>
<tr class="separator:ga3b3f3bf083b7515802f039a6a70f2d21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadabe7f6bf1fa96ad0fd644df9182c2fb"><td class="memItemLeft" align="right" valign="top">Ptr&lt; TonemapReinhard &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/df5/group__photo__hdr.html#gadabe7f6bf1fa96ad0fd644df9182c2fb">cv::createTonemapReinhard</a> (float gamma=1.0f, float intensity=0.0f, float light_adapt=1.0f, float color_adapt=0.0f)</td></tr>
<tr class="memdesc:gadabe7f6bf1fa96ad0fd644df9182c2fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates <a class="el" href="../../d0/dec/classcv_1_1TonemapReinhard.html" title="This is a global tonemapping operator that models human visual system. ">TonemapReinhard</a> object.  <a href="../../d6/df5/group__photo__hdr.html#gadabe7f6bf1fa96ad0fd644df9182c2fb">More...</a><br /></td></tr>
<tr class="separator:gadabe7f6bf1fa96ad0fd644df9182c2fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4864d4c007bda5dacdc5e9d4ed7e222c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d32/group__photo__decolor.html#ga4864d4c007bda5dacdc5e9d4ed7e222c">cv::decolor</a> (InputArray src, OutputArray grayscale, OutputArray color_boost)</td></tr>
<tr class="memdesc:ga4864d4c007bda5dacdc5e9d4ed7e222c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transforms a color image to a grayscale image. It is a basic tool in digital printing, stylized black-and-white photograph rendering, and in many single channel image processing applications <a class="el" href="../../d0/de3/citelist.html#CITEREF_CL12">[156]</a> .  <a href="../../d4/d32/group__photo__decolor.html#ga4864d4c007bda5dacdc5e9d4ed7e222c">More...</a><br /></td></tr>
<tr class="separator:ga4864d4c007bda5dacdc5e9d4ed7e222c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7602ed5ae17b7de40152b922227c4e4f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d79/group__photo__denoise.html#ga7602ed5ae17b7de40152b922227c4e4f">cv::denoise_TVL1</a> (const std::vector&lt; Mat &gt; &amp;observations, Mat &amp;result, double lambda=1.0, int niters=30)</td></tr>
<tr class="memdesc:ga7602ed5ae17b7de40152b922227c4e4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Primal-dual algorithm is an algorithm for solving special types of variational problems (that is, finding a function to minimize some functional). As the image denoising, in particular, may be seen as the variational problem, primal-dual algorithm then can be used to perform denoising and this is exactly what is implemented.  <a href="../../d1/d79/group__photo__denoise.html#ga7602ed5ae17b7de40152b922227c4e4f">More...</a><br /></td></tr>
<tr class="separator:ga7602ed5ae17b7de40152b922227c4e4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0de660cb6f371a464a74c7b651415975"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dac/group__photo__render.html#ga0de660cb6f371a464a74c7b651415975">cv::detailEnhance</a> (InputArray src, OutputArray dst, float sigma_s=10, float sigma_r=0.15f)</td></tr>
<tr class="memdesc:ga0de660cb6f371a464a74c7b651415975"><td class="mdescLeft">&#160;</td><td class="mdescRight">This filter enhances the details of a particular image.  <a href="../../df/dac/group__photo__render.html#ga0de660cb6f371a464a74c7b651415975">More...</a><br /></td></tr>
<tr class="separator:ga0de660cb6f371a464a74c7b651415975"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafaee2977597029bc8e35da6e67bd31f7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dac/group__photo__render.html#gafaee2977597029bc8e35da6e67bd31f7">cv::edgePreservingFilter</a> (InputArray src, OutputArray dst, int flags=1, float sigma_s=60, float sigma_r=0.4f)</td></tr>
<tr class="memdesc:gafaee2977597029bc8e35da6e67bd31f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filtering is the fundamental operation in image and video processing. Edge-preserving smoothing filters are used in many different applications <a class="el" href="../../d0/de3/citelist.html#CITEREF_EM11">[86]</a> .  <a href="../../df/dac/group__photo__render.html#gafaee2977597029bc8e35da6e67bd31f7">More...</a><br /></td></tr>
<tr class="separator:gafaee2977597029bc8e35da6e67bd31f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c6b0031f56ea3f98f768881279ffe93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d79/group__photo__denoise.html#ga4c6b0031f56ea3f98f768881279ffe93">cv::fastNlMeansDenoising</a> (InputArray src, OutputArray dst, float h=3, int templateWindowSize=7, int searchWindowSize=21)</td></tr>
<tr class="memdesc:ga4c6b0031f56ea3f98f768881279ffe93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform image denoising using Non-local Means Denoising algorithm <a href="http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/">http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/</a> with several computational optimizations. Noise expected to be a gaussian white noise.  <a href="../../d1/d79/group__photo__denoise.html#ga4c6b0031f56ea3f98f768881279ffe93">More...</a><br /></td></tr>
<tr class="separator:ga4c6b0031f56ea3f98f768881279ffe93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0db3ea0715152e56081265014b139bec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d79/group__photo__denoise.html#ga0db3ea0715152e56081265014b139bec">cv::fastNlMeansDenoising</a> (InputArray src, OutputArray dst, const std::vector&lt; float &gt; &amp;h, int templateWindowSize=7, int searchWindowSize=21, int normType=NORM_L2)</td></tr>
<tr class="memdesc:ga0db3ea0715152e56081265014b139bec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform image denoising using Non-local Means Denoising algorithm <a href="http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/">http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/</a> with several computational optimizations. Noise expected to be a gaussian white noise.  <a href="../../d1/d79/group__photo__denoise.html#ga0db3ea0715152e56081265014b139bec">More...</a><br /></td></tr>
<tr class="separator:ga0db3ea0715152e56081265014b139bec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga03aa4189fc3e31dafd638d90de335617"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d79/group__photo__denoise.html#ga03aa4189fc3e31dafd638d90de335617">cv::fastNlMeansDenoisingColored</a> (InputArray src, OutputArray dst, float h=3, float hColor=3, int templateWindowSize=7, int searchWindowSize=21)</td></tr>
<tr class="memdesc:ga03aa4189fc3e31dafd638d90de335617"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modification of fastNlMeansDenoising function for colored images.  <a href="../../d1/d79/group__photo__denoise.html#ga03aa4189fc3e31dafd638d90de335617">More...</a><br /></td></tr>
<tr class="separator:ga03aa4189fc3e31dafd638d90de335617"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa501e71f52fb2dc17ff8ca5e7d2d3619"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d79/group__photo__denoise.html#gaa501e71f52fb2dc17ff8ca5e7d2d3619">cv::fastNlMeansDenoisingColoredMulti</a> (InputArrayOfArrays srcImgs, OutputArray dst, int imgToDenoiseIndex, int temporalWindowSize, float h=3, float hColor=3, int templateWindowSize=7, int searchWindowSize=21)</td></tr>
<tr class="memdesc:gaa501e71f52fb2dc17ff8ca5e7d2d3619"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modification of fastNlMeansDenoisingMulti function for colored images sequences.  <a href="../../d1/d79/group__photo__denoise.html#gaa501e71f52fb2dc17ff8ca5e7d2d3619">More...</a><br /></td></tr>
<tr class="separator:gaa501e71f52fb2dc17ff8ca5e7d2d3619"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf4421bf068c4d632ea7f0aa38e0bf172"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d79/group__photo__denoise.html#gaf4421bf068c4d632ea7f0aa38e0bf172">cv::fastNlMeansDenoisingMulti</a> (InputArrayOfArrays srcImgs, OutputArray dst, int imgToDenoiseIndex, int temporalWindowSize, float h=3, int templateWindowSize=7, int searchWindowSize=21)</td></tr>
<tr class="memdesc:gaf4421bf068c4d632ea7f0aa38e0bf172"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modification of fastNlMeansDenoising function for images sequence where consecutive images have been captured in small period of time. For example video. This version of the function is for grayscale images or for manual manipulation with colorspaces. For more details see <a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.131.6394">http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.131.6394</a>  <a href="../../d1/d79/group__photo__denoise.html#gaf4421bf068c4d632ea7f0aa38e0bf172">More...</a><br /></td></tr>
<tr class="separator:gaf4421bf068c4d632ea7f0aa38e0bf172"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga723ffde1969430fede9241402e198151"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d79/group__photo__denoise.html#ga723ffde1969430fede9241402e198151">cv::fastNlMeansDenoisingMulti</a> (InputArrayOfArrays srcImgs, OutputArray dst, int imgToDenoiseIndex, int temporalWindowSize, const std::vector&lt; float &gt; &amp;h, int templateWindowSize=7, int searchWindowSize=21, int normType=NORM_L2)</td></tr>
<tr class="memdesc:ga723ffde1969430fede9241402e198151"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modification of fastNlMeansDenoising function for images sequence where consecutive images have been captured in small period of time. For example video. This version of the function is for grayscale images or for manual manipulation with colorspaces. For more details see <a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.131.6394">http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.131.6394</a>  <a href="../../d1/d79/group__photo__denoise.html#ga723ffde1969430fede9241402e198151">More...</a><br /></td></tr>
<tr class="separator:ga723ffde1969430fede9241402e198151"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5025767cf2febd8029d474278e886c7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/da0/group__photo__clone.html#gac5025767cf2febd8029d474278e886c7">cv::illuminationChange</a> (InputArray src, InputArray mask, OutputArray dst, float alpha=0.2f, float beta=0.4f)</td></tr>
<tr class="memdesc:gac5025767cf2febd8029d474278e886c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Applying an appropriate non-linear transformation to the gradient field inside the selection and then integrating back with a Poisson solver, modifies locally the apparent illumination of an image.  <a href="../../df/da0/group__photo__clone.html#gac5025767cf2febd8029d474278e886c7">More...</a><br /></td></tr>
<tr class="separator:gac5025767cf2febd8029d474278e886c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaedd30dfa0214fec4c88138b51d678085"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8b/group__photo__inpaint.html#gaedd30dfa0214fec4c88138b51d678085">cv::inpaint</a> (InputArray src, InputArray inpaintMask, OutputArray dst, double inpaintRadius, int flags)</td></tr>
<tr class="memdesc:gaedd30dfa0214fec4c88138b51d678085"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restores the selected region in an image using the region neighborhood.  <a href="../../d7/d8b/group__photo__inpaint.html#gaedd30dfa0214fec4c88138b51d678085">More...</a><br /></td></tr>
<tr class="separator:gaedd30dfa0214fec4c88138b51d678085"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae5930dd822c713b36f8529b21ddebd0c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dac/group__photo__render.html#gae5930dd822c713b36f8529b21ddebd0c">cv::pencilSketch</a> (InputArray src, OutputArray dst1, OutputArray dst2, float sigma_s=60, float sigma_r=0.07f, float shade_factor=0.02f)</td></tr>
<tr class="memdesc:gae5930dd822c713b36f8529b21ddebd0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pencil-like non-photorealistic line drawing.  <a href="../../df/dac/group__photo__render.html#gae5930dd822c713b36f8529b21ddebd0c">More...</a><br /></td></tr>
<tr class="separator:gae5930dd822c713b36f8529b21ddebd0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2bf426e4c93a6b1f21705513dfeca49d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/da0/group__photo__clone.html#ga2bf426e4c93a6b1f21705513dfeca49d">cv::seamlessClone</a> (InputArray src, InputArray dst, InputArray mask, Point p, OutputArray blend, int flags)</td></tr>
<tr class="memdesc:ga2bf426e4c93a6b1f21705513dfeca49d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Image editing tasks concern either global changes (color/intensity corrections, filters, deformations) or local changes concerned to a selection. Here we are interested in achieving local changes, ones that are restricted to a region manually selected (ROI), in a seamless and effortless manner. The extent of the changes ranges from slight distortions to complete replacement by novel content <a class="el" href="../../d0/de3/citelist.html#CITEREF_PM03">[193]</a> .  <a href="../../df/da0/group__photo__clone.html#ga2bf426e4c93a6b1f21705513dfeca49d">More...</a><br /></td></tr>
<tr class="separator:ga2bf426e4c93a6b1f21705513dfeca49d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb0f7324017df153d7b5d095aed53206"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dac/group__photo__render.html#gacb0f7324017df153d7b5d095aed53206">cv::stylization</a> (InputArray src, OutputArray dst, float sigma_s=60, float sigma_r=0.45f)</td></tr>
<tr class="memdesc:gacb0f7324017df153d7b5d095aed53206"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stylization aims to produce digital imagery with a wide variety of effects not focused on photorealism. Edge-aware filters are ideal for stylization, as they can abstract regions of low contrast while preserving, or enhancing, high-contrast features.  <a href="../../df/dac/group__photo__render.html#gacb0f7324017df153d7b5d095aed53206">More...</a><br /></td></tr>
<tr class="separator:gacb0f7324017df153d7b5d095aed53206"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad55df6aa53797365fa7cc23959a54004"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/da0/group__photo__clone.html#gad55df6aa53797365fa7cc23959a54004">cv::textureFlattening</a> (InputArray src, InputArray mask, OutputArray dst, float low_threshold=30, float high_threshold=45, int kernel_size=3)</td></tr>
<tr class="memdesc:gad55df6aa53797365fa7cc23959a54004"><td class="mdescLeft">&#160;</td><td class="mdescRight">By retaining only the gradients at edge locations, before integrating with the Poisson solver, one washes out the texture of the selected region, giving its contents a flat aspect. Here Canny Edge Detector is used.  <a href="../../df/da0/group__photo__clone.html#gad55df6aa53797365fa7cc23959a54004">More...</a><br /></td></tr>
<tr class="separator:gad55df6aa53797365fa7cc23959a54004"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.6-->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Apr 2 2021 11:36:33 for OpenCV by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
<script type="text/javascript">
//<![CDATA[
addTutorialsButtons();
//]]>
</script>
</body>
</html>
